home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
MacUser Mac Bin 40
/
MACUSER-MACBIN40A-1997-03.ISO.7z
/
MACUSER-MACBIN40A-1997-03.ISO
/
特集⁄オンラインソフト
/
ゲーム&アミューズメント
/
アミューズメント
/
Citron 1.07J⁄E
/
収録XCMD説明&サンプルスタック
/
XCMD⁄XFCN説明書
/
Tart説明書
< prev
next >
Wrap
Text File
|
1996-07-31
|
13KB
|
217 lines
Tart(タルト) XFCNは、任意の時刻や、一定の間隔でメッセージを発生するXFCNです。Tart XFCNを用いれば、あれこれHyperTalkで苦労することなしに、任意時刻や一定間隔で処理を行うスクリプトが作成できます。
Tart XFCNは、落合 徹(ちゃい)が著作権を所有しています。自作のスタックなどに利用する場合は、当ドキュメントの「使用上の注意」の項を良く読んでからご使用ください。
なお、自作のスタック等にインストールする場合は、CitronをHomeスタックへインストールするか、ResEdit等のリソース関連ツールでTart XFCNをコピーしてください。
【Tart XFCN】(Version 1.00 CodeWarrior Gold9使用 1996/7)
0.更新履歴
(Version 1.00 CodeWarrior Gold9使用 1996/7)
初回バージョン
1.使い方
以下に使い方を紹介します。
Tartは以下の機能を持っています。
・Ticks単位のインターバルタイマー
・Seconds単位のインターバルタイマー
・日時あるいは時刻指定のタイマー
・上記3種のタイマーを最高32個まで同時使用
個別に解説します。
−Tartの初期化
【形式】 Tart(NewTimer)
【解説】
Tartを初期化し、32個までのタイマーが使用できるようにします。Tartによるタイマー作成前に必ず1回だけ実行しておく必要があります。
※Tartは画面上に表示されない外部ウインドウを作成し、それによってタイマーを実現しています。HyperCardの仕様により、外部ウインドウが存在する場合は「スタック整理」が行えません。スタック整理を行う場合は、次に示すDisposeTimerコマンドでTartを破棄しておく必要があります。
【形式】 Tart(DisposeTimer)
【解説】
Tartの動作環境を破棄します。HyperCard終了時には自動的に破棄が行われます。
−タイマー作成
【形式1】 Tart(useTicksTimer,[タイマー番号],メッセージ,タイマー数値,[回数値])
【形式2】 Tart(useSecsTimer,[タイマー番号],メッセージ,タイマー数値,[回数値])
【形式3】 Tart(useDateTimer,[タイマー番号],メッセージ,タイマー数値,[回数値])
【形式4】 Tart(useTimeTimer,[タイマー番号],メッセージ,タイマー数値,[回数値])
【解説】
実際にタイマーを作成し、作動させます。4つの形式が存在し、異なる単位のタイマーを作成できます。
タイマー番号に指定した番号(0〜31)のタイマーを作成します。タイマー番号を省略した場合は、空いているタイマーが自動的に割り当てられます。
返値として、割り当てられたタイマー番号が返されます。
メッセージには、15バイト以内の文字列を設定します。タイマーが指定した時間になると、その文字列をカレントカードに向けてメッセージとして送信します。15バイト以上の文字列を渡した場合、先頭から15バイトのみが設定されます。実際にメッセージが送信される際には、パラメーターとしてタイマー番号を伴います。
タイマー数値には、メッセージを送信する時間を設定します。形式1〜4までのそれぞれで、指定する値が異なります。
形式1の場合は、単位はTicksです。タイマー作成時から、指定したTicks経過(インターバルタイム)ごとにメッセージが発生します。
形式2の場合は、単位はSecondsです。タイマー作成時から、指定した秒経過(インターバルタイム)ごとにメッセージが発生します。
形式3の場合は、単位はSecondsです。メッセージを発生させたい日時を秒に変換したもの(convertコマンドを用いるのが手っ取り早い)を設定します。インターバルタイムには86400秒(つまり1日)が設定されます。
形式4の場合は、単位はSecondsです。メッセージを発生させたい時刻を秒に変換したもの(convertコマンドを用いるのが手っ取り早い)を設定します。形式3と同じ値を渡しても、日付部分は無視され、時刻部分のみが設定されます。インターバルタイムには86400秒(つまり1日)が設定されます。
回数値に回数を設定すると、指定回数分だけタイマーが作動します。タイマーが作動する間隔は、インターバルタイム(形式1、2ではタイマー数値として設定した値。形式3、4では86400秒)として保持されています。回数に0を設定すると、タイマーを破棄しない限り何回でも繰り返します。省略時には1が設定されたものとみなします。指定回数分作動した後は、自動的にそのタイマーは破棄されます。
※インターバルタイムにあまり短い間隔を指定しても、望み通りに動作しない事があります。また、HyperCardの動作状況によっては、厳密なタイミングでメッセージが発生しない可能性があることをあらかじめご了承下さい。いずれにせよ、メッセージを受け取るにはHyperCardがアイドル状態にないといけませんので、少なくとも何らかのハンドラーが動作している時にはメッセージを受け取るタイミングがずれる可能性があります。
−未使用のタイマー番号を得る
【形式】 Tart(GetNoneUseTimer)
【解説】
32個のタイマーの内、未使用のタイマーの番号を返します。
−全てのタイマーを破棄する
【形式】 Tart(AllDisable)
【解説】
全てのタイマーを破棄します。
−任意のタイマーを破棄する
【形式】 Tart(DisableTimer,タイマー番号)
【解説】
タイマー番号に指定したタイマーを破棄します。もともと未使用状態のタイマーを指定した場合、何も起こりません。
−タイマーの動作を一時的に止める
【形式】 Tart(StopTimer,タイマー番号)
【解説】
タイマー番号に指定したタイマーの動作を一時的に止めます。ただし、メッセージが発生しなくなるだけで、内部的なカウントは継続しています。既に停止中のタイマーを指定しても何も起こりません。
−停止中のタイマーを動作させる
【形式】 Tart(RunTimer,タイマー番号)
【解説】
タイマー番号に指定した(StopTimerで停止させた)タイマーを動作させます。既に動作中のタイマーを指定しても何も起こりません。
−次のメッセージ発生時間を得る
【形式】 Tart(getTimerValue,タイマー番号)
【解説】
タイマー番号に指定したタイマーの、次にメッセージが発生する時間を得ます。Ticksタイマーの時はTicks値が、それ以外のタイマーの時は秒値が返されます。秒値の場合は、HyperTalkのconvertコマンドで日時に変換が可能です。
−次のメッセージ発生時間を設定する
【形式】 Tart(setTimerValue,タイマー番号,タイマー数値)
【解説】
タイマー番号に指定したタイマーの、次にメッセージが発生する時間を任意に設定できます。Ticksタイマーの時はTicks値を、それ以外のタイマーの時は秒値をタイマー数値に設定します。Secondsタイマーの場合でも、インターバルタイムではなく日時を秒に変換した値を渡す様にして下さい。
−メッセージ発生間隔を得る
【形式】 Tart(getInterval,タイマー番号)
【解説】
タイマー番号に指定したタイマーの、メッセージ発生間隔を得ます。Ticksタイマーの時はTicks値が、それ以外のタイマーの時は秒値が返されます。
−メッセージ発生間隔を設定する
【形式】 Tart(setInterval,タイマー番号,インターバルタイム)
【解説】
タイマー番号に指定したタイマーの、次にメッセージが発生する時間を任意に設定できます。Ticksタイマーの時はTicks値を、それ以外のタイマーの時は秒値をインターバルタイムに設定します。日時タイマーや時刻タイマー(両者とも、標準状態ではインターバルタイムが86400秒に設定されている)のインターバルタイムも変更できます。
この処理を行っても、次のメッセージ発生時間は変更されませんので、注意して下さい。「変更されない」という状態を利用する事で、指定日時や指定時刻から、一定間隔でメッセージを発生するタイマーを作成する事が可能です。例えば、正午に指定した時刻タイマーを作成し、直後にsetIntervalで3600秒(1時間)をインターバルタイムとして設定する事で、毎正時にメッセージを発生するようになります。
−回数値を得る
【形式】 Tart(getCount,タイマー番号)
【解説】
タイマー番号に指定したタイマーに設定されている回数値(何回メッセージを発生するかで指定したタイマーの寿命)を返す。
−回数値を設定する
【形式】 Tart(setCount,タイマー番号,回数値)
【解説】
タイマー番号に指定したタイマーに回数値(何回メッセージを発生するかで指定したタイマーの寿命)を設定する。0を設定すると、破棄されない限りずっと動作します。
−現在までに何回メッセージを発生したかを得る
【形式】 Tart(getNowCount,タイマー番号)
【解説】
タイマー番号に指定したタイマーが、作成されてから何回メッセージを発生したかを返す。
−メッセージ発生回数を設定する
【形式】 Tart(setNowCount,タイマー番号,回数値)
【解説】
タイマー番号に指定したタイマーの、メッセージ発生回数を設定する。
−タイマーの種類を得る
【形式】 Tart(GetTimerMode,タイマー番号)
【解説】
タイマー番号に指定したタイマーの種類を返す。以下の値が返される可能性がある。
・DisableTimer 未使用タイマー
・TicksTimer Ticksタイマー
・SecsTimer 秒タイマー
・DateTimeTimer 日時・時刻タイマー
※日時・時刻タイマーは、標準状態でインターバルタイムに86400秒が設定されている以外は内容的には秒タイマーと同じ
−タイマーの状態を得る
【形式】 Tart(GetTimerCondition,タイマー番号)
【解説】
タイマー番号に指定したタイマーの状態を返す。以下の値が返される可能性がある。
・Disable 未使用
・Stop 停止中
・Run 動作中
ここまでの使用でTart呼び出し時に返される可能性のあるエラーメッセージは以下の通りです。エラーが起きた場合は、以下のリストの通り、先頭に「Error:」が付加されています。
Error:Missing parameters (パラメーターが無い)
Error:Syntax invalid (文法に誤りがある)
Error:Unknown command! (未知のコマンドが実行された)
Error:Timer was exists!! (すでに初期化してあるのに再度初期化しようとした)
Error:Timer not exists!! (初期化をしていない)
Error:Couldn't allocate storage for timer variables (初期化に失敗した)
Error:Couldn't create timer (初期化に失敗した)
Error:Timer info get failed!! (初期化に失敗した)
Error:Timer number overflow!! (タイマー番号が許容範囲外)
Error:This timer is disabled!!" (指定したタイマーは未使用状態)
Error:Timer no space! (タイマーを全て使用中で空きがない)
Error:Missing message!! (タイマーのメッセージを指定していない)
Error:Missing timer value!! (タイマー数値を指定していない)
Error:Missing interval value!! (インターバルタイムを指定していない)
Error:Missing count value!! (回数値を指定していない)
Error:Missing now count value!! (現在の回数値を指定していない)
8.XCMDバージョン
以下の方法で、Tartのバージョンを調べることができます。
Tart(XCMDVersion)
the resultによって以下の書式のメッセージが取り出せます。
Tart XFCN Version *.** by -Chai-
Tart XFCN PPCVersion *.** by -Chai- (Power Macintoshバージョンの場合)
4ワード目(*.**と表わしたところ)に必ずバージョンナンバーが格納されているので、チェックする場合はそれを対象にしてください。
9.Tartの使用上の注意
Tart XFCN 1996 (C) Copyright 落合 徹(ちゃい)
当パッケージを使用してトラブルが起こった際に、本項を読んでいないといった理由は一切受け付けることはできません。内容主旨を理解したうえでご使用ください。
再配付を行なう様な場合は許可を取ってください(店頭での配付や、他ネットでの配付も含む。有料・無料どちらの場合もお願いします)。
個人的使用、およびそれに準ずる範囲内を越えた利用の際は、次項の注意をよく理解した上で使用してください。
当パッケージを使ったことによって生じた直接、間接の損害については、権利者および配付者は一切の責を負わないこととします。あくまで使用者の責任の範囲で運用を行なってください。
10.XCMD/XFCNの使用上の注意
当XCMD/XFCNの著作権その他の権利は落合 徹(ちゃい)が所有しています。無断で外部使用することを禁じます。この項の説明はstart usingなどで間接的にXCMD/XFCNを使用する場合(Citronでの利用)も、同じ扱いとします。
Citronの登録ユーザーの方は、個人的使用、およびそれに準ずる範囲内で、自由にご使用ください。
PDSその他等で配付する場合は以下の通りとなります。いずれの場合も、配布者はCitronの登録ユーザーである必要があります。
・フリーウエアに収録して配付の場合は、原則として無料で許可を出します。
・シェアウエアもしくはそれに準ずる形式の配付の場合は(あるいはフリーウエアでも有償にて配付する場合)、XCMD使用料(配付ソフト一種につき¥5000)をいただきます。
・業務目的で使用する場合、利益を生む配付(市販も含む)を行なう場合は別途ご相談ください。XCMD使用料およびライセンス料をいただきます。
・収録せずに利用する場合、すなわちstart using等でCitronに収録されたXCMD/XFCNを呼び出す場合は、上3項目に該当しません(つまり、無料ですし、連絡の必要もありません)。ただし、当然ながらXCMD/XFCNを使用するソフト(配布ソフト)のユーザーがCitronの登録ユーザーである必要があります。
・当XCMD/XFCNを収録したフリーウエア/シェアウエア(もしくはこれらに準ずる形式の配布形態)を雑誌等の媒体にて配布する場合、シェアウエアもしくはそれに準ずる形式の配付とみなして、配布ソフト作成者あるいは配布者(雑誌等の媒体)より、XCMD使用料(配付ソフト一種につき¥5000)をいただきます。ただし、シェアウエアもしくはそれに準ずる形式の配付として既にXCMD使用料をいただいている場合は、二重に支払う必要はありません。
連絡を取る場合は、2日〜1ヵ月の余裕をみておいてください。
無断使用が発覚した場合、賠償請求させていただくことがあります。
どの場合もドキュメント等の目立つ場所に、以下の項目を記載してください。
文章スタイル等は変更なさってもかまいません。
・Tart XFCNの著作権その他の権利は落合 徹(ちゃい)(Nifty:QGA01617)が所有しています。
・Tart XFCNを自作スタック等に使用なさりたい場合は、Nifty-Serve FMACHYPよりCitronスタックを入手し、登録した上でご利用ください。
・Tart XFCNを使ったことによって生じた直接、間接の損害については、XCMD作者および配付者は一切の責を負わないこととします。あくまで使用者の責任の範囲で運用を行なってください。
・無断使用が発覚した場合、賠償請求させていただくことがあります。
あるいは、
・Tart XFCN 1996 (C) Copyright 落合 徹(ちゃい)
だけでも結構です。こちらの場合、ドキュメント及びスタック等の作品のアバウト表示の両方に入れて下さい。
動作チェック環境
漢字Talk 7.5.1,7.5.2
HyperCard 2.3J
QuickTime 2.1J,2.5E
Power Macintosh 8100/80AV,Macintosh LC630,Power Macintosh PowerBook 5300cs
漢字Talk7以降なら、動作するものと思われます。